package com.leetcode.August;

/**
 * @Description: 24. 两两交换链表中的节点
 * 在这段代码中，node1 是当前对的第一个节点，而 node3 是当前对之后的下一个节点。我们想要递归地处理 node3 及其之后的所有节点，
 * 并将递归处理的结果连接到 node1 的后面。
 * @Author: Mr.Fxy
 * @CreateTime: 2024-08-26 16:12
 */
public class LC24两两交换链表中的节点 {
    public ListNode swapPairs(ListNode head) {
        if(head == null || head.next == null) return head;
        ListNode head1 = head;
        ListNode head2 = head.next;
        ListNode head3 = head2.next;
        head1.next = swapPairs(head3);
        head2.next = head1;
        return head2;
    }
}
